class Solution {

    bool del[100010];

public:
    string clearStars(string s) {

        stack<int> st[26];
        for (int i = 0; i < s.size(); i++)
        {
            char ch = s[i];

            if (ch != '*')
            {
                int num = ch - 'a';
                st[num].push(i);
                // cout << "num : " << num << endl;
            }
            else
            {
                del[i] = true;

                for (int j = 0; j < 26; j++)
                {
                    if (!st[j].empty())
                    {
                        int index = st[j].top();
                        st[j].pop();

                        del[index] = true;

                        break;
                    }
                }
            }
        }

        string res = "";
        for (int i = 0; i < s.size(); i++)
            if (!del[i])
                res += s[i];

        return res;
    }
};